void Approx (ChnLen, MaxErr, Chain, Segs)
int    ChnLen, MaxErr;
ChnTyp * Chain;
SegTyp * Segs;
{
   int  NofSegs, CurveLen, TopOfCurve;

   NofSegs = 0;
   TopOfCurve = ChnLen;
   while (TopOfCurve >= 0) {
      CurveLen = Chain[TopOfCurve].i;
      Polygon (TopOfCurve, CurveLen, MaxErr, &NofSegs, Chain, Segs);
      TopOfCurve -= CurveLen;
}  }
